using System;
using System.Collections;
using Refly.CodeDom;
using Refly.CodeDom.Collections;
using System.Text;

namespace Doubler.Templates.Recorder
{
    class RecorderInfo
    {
        
#region Fields

        private string _Name;
        private Reflector.CodeModel.IMemberDeclaration _Member;
        private IClassDeclaration _Class;
        private ParameterDeclarationCollection _Parameters;

#endregion
        
#region Properties

        public string Name
        {
            get
            {
                return _Name;
            }
            set
            {
                if (_Name == value)
                    return;
                _Name = value;
            }
        }

        public Reflector.CodeModel.IMemberDeclaration Member
        {
            get
            {
                return _Member;
            }
            set
            {
                _Member = value;
            }
        }

        public IClassDeclaration Class
        {
            get
            {
                return _Class;
            }
            set
            {
                _Class = value;
            }
        }

        public ParameterDeclarationCollection Parameters
        {
            get
            {
                return _Parameters;
            }
            set
            {
                _Parameters = value;
            }
        }

#endregion

        public RecorderInfo(string name, Reflector.CodeModel.IMemberDeclaration member, ParameterDeclarationCollection parameters)
        {
            _Name = name;
            _Member = member;
            _Parameters = parameters;
        }
    }
}
